package com.jwsoft.manager.core.integration;

import com.bifang.module.base.common.vo.excel.ExcelVO;
import com.github.pagehelper.PageInfo;
import com.jwsoft.manager.common.vo.eduSyncJhApply.EduSyncJhApplyQueryVO;
import com.jwsoft.manager.common.vo.eduSyncJhApprove.EduSyncJhApproveVO;
import com.jwsoft.manager.common.vo.eduSyncJhApprove.EduSyncJhApproveKeyVO;
import com.jwsoft.manager.common.vo.eduSyncJhApprove.EduSyncJhApproveQueryVO;
import com.jwsoft.manager.common.vo.eduSyncJhDelete.EduSyncJhDeleteQueryVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 金华市审核专库同步情况表业务本地接口
 *
 * @author zhiyuan
 * @since 2024-04-08
 */
public interface EduSyncJhApproveIntegration {
    /** 分页查询 */
    PageInfo<EduSyncJhApproveVO> getList(EduSyncJhApproveQueryVO vo);
    /** 根据主键查询详情 */
    EduSyncJhApproveVO getById(EduSyncJhApproveKeyVO vo);
    /** 保存前统一校验*/
    void checkSave(EduSyncJhApproveVO vo);
    /** 新增 */
    EduSyncJhApproveVO add(EduSyncJhApproveVO vo);
    /** 修改 */
    EduSyncJhApproveVO edit(EduSyncJhApproveVO vo);
    /** 根据主键删除 */
    void del(EduSyncJhApproveKeyVO vo);

    /**
     * 金华市审核专库同步情况 -excel导出
     * @param vo
     * @param response
     */
    void exportJhApproveInfo(EduSyncJhApproveQueryVO vo, HttpServletResponse response);

    /**
     * 金华市审核专库同步情况 -excel导入并保存
     * @param vo
     * @param file
     */
    void inputAndSaveJhApproveInfo(ExcelVO vo, MultipartFile file);

    /**
     * 下载excel模板
     * @param vo
     * @param response
     */
    void downloadModel(ExcelVO vo, HttpServletResponse response);

    /**
     * 删除同步
     * @param vo
     */
    void syncDelete(EduSyncJhDeleteQueryVO vo);

    /**
     * 金华市学生审核信息同步
     * @param vo
     * @param request
     */
    EduSyncJhApproveVO saveSyncApproveInfo(EduSyncJhApproveVO vo, HttpServletRequest request);

    /**
     * 金华市学生审核信息同步-内部接口
     * @param vo
     */
    EduSyncJhApproveVO saveSyncApproveInfo2(EduSyncJhApproveVO vo);
}
